﻿<html xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    
    <meta name="save" content="history" />
    <meta name="Language" content="en-us" />
    <meta name="System.Keywords" content="agile process template, project management" />
    <meta name="System.Keywords" content="agile process template, scrum" />
    <meta name="System.Keywords" content="process guidance, scrum" />
    <meta name="System.Keywords" content="scrum" />
    <meta name="Microsoft.Help.Id" content="8005f1cb-ec40-4afd-8be8-737e790a375d" />
    <meta name="Description" content="Scrum is a framework for running projects that is based on agile principles and values. It defines a set of activities that can help your team deliver more value to your customers faster." />
    <meta name="Microsoft.Help.ContentType" content="Concepts" />
    <meta name="DCSext.ProductFamily" content="LIB_DG" />
    <meta name="DCSext.Product" content="ALM_TeamFoundation" />
    <meta name="DCSext.Title" value="Scrum" />
    <link rel="stylesheet" type="text/css" href="../styles/presentation.css" />
    
    <script type="text/javascript" src="../scripts/EventUtilities.js"> </script>
    <script type="text/javascript" src="../scripts/SplitScreen.js"> </script>
    <script type="text/javascript" src="../scripts/Dropdown.js"> </script>
    <script type="text/javascript" src="../scripts/script_manifold.js"> </script>
    <script type="text/javascript" src="../scripts/script_feedBack.js"> </script>
    <script type="text/javascript" src="../scripts/CheckboxMenu.js"> </script>
    <script type="text/javascript" src="../scripts/CommonUtilities.js"> </script>
    <xml>
        <MSHelp:Keyword Index="A" Term="8005f1cb-ec40-4afd-8be8-737e790a375d" />
        <MSHelp:Keyword Index="K" Term="agile process template, project management" />
        <MSHelp:Keyword Index="K" Term="agile process template, scrum" />
        <MSHelp:Keyword Index="K" Term="process guidance, scrum" />
        <MSHelp:Keyword Index="K" Term="scrum" />
        <MSHelp:Attr Name="RevisionNumber" Value="48" />
        <MSHelp:Attr Name="AssetID" Value="8005f1cb-ec40-4afd-8be8-737e790a375d" />
        <MSHelp:Attr Name="Abstract" Value="Scrum is a framework for running projects that is based on agile principles and values. It defines a set of activities that can help your team deliver more value to your customers faster. These activities provide your customers with the opportunity t ..." />
        <MSHelp:Attr Name="CommunityContent" Value="1" />
        <MSHelp:Attr Name="ShippedIn" Value="vs.90" />
        <MSHelp:Attr Name="TopicVersion" Value="10.0.10236.10000" />
        <MSHelp:Attr Name="Catalog Container" Value="System_Default_Catalog" />
        <MSHelp:Attr Name="Content Set Container" Value="System_Default_Content_Set" />
        <MSHelp:Attr Name="TopicType" Value="kbArticle" />
        <MSHelp:Attr Name="Locale" Value="en-us" />
    </xml>
    <title>Scrum</title>
</head>
<body>
	<input type="hidden" id="userDataCache" class="userDataStyle" />
	<input type="hidden" id="hiddenScrollOffset" />
	<img id="collapseImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" alt="Collapse image" title="Collapse image" />
	<img id="expandImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" alt="Expand Image" title="Expand Image" />
	<img id="collapseAllImage" style="display:none; height:0; width:0;" src="../icons/collapse_all.gif" />
	<img id="expandAllImage" style="display:none; height:0; width:0;" src="../icons/expand_all.gif" />
	<img id="dropDownImage" style="display:none; height:0; width:0;" src="../icons/dropdown.gif" />
	<img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="../icons/dropdownHover.gif" />
	<img id="copyImage" style="display:none; height:0; width:0;" src="../icons/copycode.gif" alt="Copy image" title="Copy image" />
	<img id="copyHoverImage" style="display:none; height:0; width:0;" src="../icons/copycodeHighlight.gif" alt="CopyHover image" title="CopyHover image" />
	<div id="header">
		<table id="topTable" cellspacing="0" cellpadding="0">
			<tr>
				<td>
					<span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0">
						<img ID="toggleAllImage" class="toggleAll" src="../icons/collapse_all.gif" /> 
						<label id="collapseAllLabel" for="toggleAllImage" style="display: none;">Collapse All</label>
						<label id="expandAllLabel" for="toggleAllImage" style="display: none;">Expand All</label> 
					</span> 
					<span>    </span> 
					<span id="devlangsDropdown" class="filter" tabindex="0">
						<img id="devlangsDropdownImage" src="../icons/dropdown.gif" /> 
						<label id="devlangsMenuAllLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: All </nobr></label>
						<label id="devlangsMenuMultipleLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Multiple </nobr></label>
						<label id="devlangsMenuVisualBasicLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Visual Basic </nobr></label>
						<label id="devlangsMenuCSharpLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: C# </nobr></label>
						<label id="devlangsMenuManagedCPlusPlusLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: Visual C++ </nobr></label>
						<label id="devlangsMenuFSharpLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: F# </nobr></label>
						<label id="devlangsMenuJScriptLabel" for="devlangsDropdownImage" style="display: none;"><nobr>Code: JScript </nobr></label>
					</span> 
				</td>
			</tr>
		</table>
		<div id="devlangsMenu">
			<input id="VisualBasicCheckbox" type="checkbox" data="VisualBasic,vb,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="VisualBasicCheckbox">Visual Basic</label><br />
			<input id="CSharpCheckbox" type="checkbox" data="CSharp,cs,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="CSharpCheckbox">C#</label><br />
			<input id="ManagedCPlusPlusCheckbox" type="checkbox" data="ManagedCPlusPlus,cpp,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="ManagedCPlusPlusCheckbox">Visual C++</label><br />
			<input id="FSharpCheckbox" type="checkbox" data="FSharp,fs,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="FSharpCheckbox">F#</label><br />
			<input id="JScriptCheckbox" type="checkbox" data="JScript,cs,'persist'" value="on" onClick="SetLanguage(this)" />
			<label class="checkboxLabel" for="JScriptCheckbox">JScript</label><br />
		</div>
		<table id="bottomTable" cellpadding="0" cellspacing="0">
			<tr id="headerTableRow1">
				<td align="left">
					<span id="runningHeaderText"> </span> 
				</td>
			</tr>
			<tr id="headerTableRow2">
				<td align="left">
					<span id="nsrTitle">Scrum</span> 
				</td>
			</tr>
			<tr id="headerTableRow3">
				<td align="left">
					<span id="headfeedbackarea" class="feedbackhead">
						<a href="javascript:SubmitFeedback('bjordan@microsoft.com','','','10.0','10.0.10236.10000','%0\dThank%20you%20for%20your%20feedback.%20The%20GovDev%20team%20uses%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose%20and%20we%20delete%20it%20after%20we%20finish%20our%20review.%0\AFor%20further%20information%20about%20the%20privacy%20policies%20of%20Microsoft,%20please%20see%20http://privacy.microsoft.com/en-us/default.aspx.%0\A%0\d','Customer%20Feedback');">
							Send Feedback
						</a>
					</span> 
				</td>
			</tr>
		</table>
		<table id="gradientTable">
			<tr>
				<td class="nsrBottom" background="../icons/gradient.gif" />
			</tr>
		</table>
	</div>
    <div id="mainSection">
        <div id="mainBody">
            <div id="allHistory" class="saveHistory" onsave="saveAll()" onload="loadAll()" />
            <font color="DarkGray">
                <p />
            </font>
            <div class="introduction">
                <p>Scrum is a framework for running projects that is based on agile principles and values.
                    It defines a set of activities that can help your team deliver more value to your
                    customers faster. These activities provide your customers with the opportunity to
                    review, guide and influence your team's work as it progresses. This approach does
                    not attempt to define everything at the start of a project. Instead, your team works
                    in short iterations (also called sprints) and refines the plan as the team makes
                    progress. For information about the agile principles and values on which Scrum is
                    based, see <span sdata="link"><a href="AgilePrinciplesandValuesbyJeffSutherland.html">
                        Agile Principles and Values, by Jeff Sutherland</a></span>.</p>
                <p>TO BE UPDATED GovDev for TFS 2010 v1.0 is based on Scrum. Therefore, your team can
                    adopt Scrum by using tools that are integrated with your core development activities.
                </p>
                <div class="caption"></div>
                <div class="tableSection">
                    <table width="50%" cellspacing="2" cellpadding="5" frame="lhs">
                        <tr>
                            <td>
                                <p><span class="label">In This Topic</span> </p>
                                <ul>
                                    <li>
                                        <p><a href="#SetUpTheProject">Prepare for the Project</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#PlanTheProject">Plan the Project</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#PlanASprint">Plan a Sprint</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#RunASprint">Run a Sprint</a></p>
                                    </li>
                                    <li>
                                        <p><a href="#TrackTheProject">Track the Project</a></p>
                                    </li>
                                </ul>
                            </td>
                            <td>
                                <img alt="Scrum" src="../art/ProcGuid_Scrum.png" /></td>
                        </tr>
                    </table>
                </div>
            </div>
            <a name="SetUpTheProject" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle0)" style="cursor: default;" onkeypress="ExpandCollapse_CheckKey(sectionToggle0, event)" tabindex="0">
                <img id="sectionToggle0" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Prepare for the Project</span> 
            </h1>
            <div id="sectionSection0" class="section" name="collapseableSection" style="">
                <p>Before you start your project, perform the following tasks:</p>
                <ul>
                    <li>
                        <p>establish the business case</p>
                    </li>
                    <li>
                        <p>assemble a team</p>
                    </li>
                    <li>
                        <p>set up your team's infrastructure</p>
                    </li>
                </ul>
                <p>To establish a business case, identify the business need and justification, define
                    the vision, and obtain funding. Geoffrey Moore's book "Crossing the Chasm" provides
                    good guidance for establishing your vision. For more information, see the following
                    Web resource: <a href="http://go.microsoft.com/fwlink/?LinkId=178849">Crossing the Chasm
                    </a>.</p>
                <p>After you establish the business case, you must assemble your team and identify the
                    ScrumMaster and the product owner. For more information, see <span sdata="link"><a
                        href="Roles.html">Roles</a></span>.</p>
                <p>Finally, your team must set up the infrastructure. For example, install Visual Studio
                    Team Foundation Server and Visual Studio Application Lifecycle Management (ALM),
                    create and possibly customize your team project, and set up engineering practices.
                    For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/7ae9182f-4762-4bd3-b238-39ce987932e5">
                        Getting Started with Visual Studio Application Lifecycle Management</a></span>, <span sdata="link"><a href="http://msdn.microsoft.com/library/6941450c-f712-4662-b708-7f930db0e15b">
                        Customizing Your Team Project</a></span>, and <span sdata="link"><a href="EngineeringPractices.html">
                            Engineering Practices</a></span>.</p>
            </div>
            <a name="PlanTheProject" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle1)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle1, event)" tabindex="0">
                <img id="sectionToggle1" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Plan
                the Project</span> </h1>
            <div id="sectionSection1" class="section" name="collapseableSection" style="">
                <p>In a Scrum project, your team will spend most of its time developing your product
                    in a series of sprints. However, your team must first create a high-level plan for
                    the project. This plan is a roadmap to guide more detailed decisions that your team
                    will make during the course of the project. As your team implements the plan, it
                    will change. When your team has finished planning the project, the team will have
                    created a product backlog and, if it is needed, a release plan.</p>
                <a name="BuildTheProductBacklog" />
                <h3 class="subHeading">Build the Product Backlog</h3>
                <div class="subsection">
                    <p>The product backlog is a list of use cases that describe what your users need
                        and value. The use cases are prioritized by business value and risk, and the
                        team estimates use cases in abstract units that are called story points.</p>
                    <img alt="Create, Rank, and Estimate Use Cases" src="../art/ProcGuid_CreateEstimateRank.png" /><div
                        class="caption"></div>
                    <div class="tableSection">
                        <table width="50%" cellspacing="2" cellpadding="5" frame="lhs">
                            <tr>
                                <td>
                                    <img alt="Step 1" src="../art/ProcGuid_1.gif" /></td>
                                <td>
                                    <p><span class="label">Create use cases:</span> Use cases
                                        are written from the end user’s point of view. For example:</p>
                                    <p>“As a returning customer, I want to find a meal that I have ordered before.”</p>
                                    <p>For more information, see <span sdata="link"><a href="CreatingaGreatProjectBacklog.html">
                                        Creating a Great Project Backlog</a></span>.</p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <img alt="Step 2" src="../art/ProcGuid_2.gif" /></td>
                                <td>
                                    <p><span class="label">Prioritize the use cases:</span> Your product owner prioritizes
                                        the use cases in the product backlog by working with your customers to understand
                                        what they value and by working with your team to understand risks and dependencies.
                                        Your product owner specifies priorities by assigning a rank to each use case to
                                        indicate the order in which the team should implement them.</p>
                                    <p>Your product owner can use many techniques to analyze and compare the value of use cases. If your team already has a method for prioritizing that works well for
                                        you, use that method.</p>
                                    <p>A few prioritization techniques are closely associated with the agile community,
                                        such as the Kano model of customer satisfaction and relative weighting by Karl Wiegers.
                                        (For more information about relative weighting, see the following page on the Web:
                                        <a href="http://go.microsoft.com/fwlink/?LinkId=166084">First Things First: Prioritizing
                                            Requirements</a>.) Other prioritization techniques, such as cost prioritization,
                                        net present value, payback period, and internal rate of return are well established
                                        outside the agile community. These techniques are also legitimate and appropriate
                                        for prioritizing your product backlog on a Scrum project. For more information,
                                        see "Part II: Estimating Size" from the book that the following Web resource identifies:
                                        <a href="http://go.microsoft.com/fwlink/?LinkId=178859">Agile Estimation and Planning
                                        </a>.</p>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <img alt="Step 3" src="../art/ProcGuid_3.gif" /></td>
                                <td>
                                    <p><span class="label">Estimate the use cases: </span> Your team collaboratively estimates
                                        each use case in story points. In his book "Agile Estimation and Planning," Mike
                                        Cohn defines story points this way: “Story points are a unit of measure for expressing
                                        the overall size of a use case, feature or other piece of work.” Story points
                                        are relative values that do not translate directly into a specific number of hours.
                                        Instead, story points help a team quantify the general size of the use case. These
                                        relative estimates are less precise so that they require less effort to determine,
                                        and they hold up better over time. By estimating in story points, your team will
                                        provide the general size of the use cases now and develop the more detailed estimation
                                        of hours of work later, when team members are about to implement the use cases.
                                    </p>
                                </td>
                            </tr>
                        </table>
                    </div>
                </div>
                <a name="EstimateTheTeamsCapacity" />
                <h3 class="subHeading">Determine Your Team's Velocity</h3>
                <div class="subsection">
                    <p>Before your team creates its release plan and plans each sprint, your team must determine
                        its velocity. Your team's velocity is the number of story points that it can complete
                        in a sprint. </p>
                    <p>If your team has measured its velocity by collecting data that shows how many use cases the team completes in a given period of time, use that data. It will provide
                        the best insight into the team's velocity. If you do not have that data now but
                        you are starting to run your project by using Visual Studio ALM and MSF for Agile
                        Software Development v5.0, that data will be collected over the course of the project.
                        For more information, see <span sdata="link"><a href="StatusonAllIterationsReport.html">
                            Status on All Iterations Report</a></span>.</p>
                    <p>If historical data is not available, your team can make a rough estimation of how
                        many story points it can complete in the first sprint. Look at the estimated use cases at the top of the priority stack and make a quick assessment of how many
                        use cases it could complete in a sprint. Add the story points for each of those use cases to get an initial estimate. After the first sprint, you can use historical
                        data to determine your team's velocity. In the first few sprints, you should expect
                        substantial variation as your team learns how to estimate consistently. Over the
                        course of several sprints, your team's measured velocity should become more stable.
                        When your team's measured velocity is stable, reassess the release plan.</p>
                    <p>The estimate of your team's velocity provides a starting point that you can use to
                        determine how many use cases to implement in the sprint, but the estimate is
                        not the basis for your team's commitment. Your team's commitment will be made based
                        on more detailed estimations of the tasks that are required to complete the
                        use cases. For more information, see <span sdata="link"><a href="UseCasePlanningWorkbook.html">
                            Use Case Planning Workbook</a></span>.</p>
                </div>
                <a name="EstablishTheReleasePlan" />
                <h3 class="subHeading">Establish the Release Plan</h3>
                <div class="subsection">
                    <p>Each sprint, your team will complete an increment of the product that it could ship.
                        Although the use cases that your team implements are ready to be shipped at the
                        end of the sprint, they may not provide enough business value to justify actually
                        releasing the product. Plan your releases by assigning them to iterations:</p>
                    <ul>
                        <li>
                            <p>Identify groups of use cases that, together, provide enough business value to
                                release to your customers.</p>
                        </li>
                        <li>
                            <p>Determine in which sprints the team expects to complete those groups of use cases.
                            </p>
                        </li>
                    </ul>
                    <p>As your team makes progress, use cases will be added to the product backlog, and
                        use cases may be removed. In addition, the priority of some use cases will
                        change, and some use cases may be implemented earlier or later than originally
                        expected. Your product owner will maintain the release plan together with the product
                        backlog over the course of the project.</p>
                    <p>For more information, see <span sdata="link"><a href="UseCasePlanningWorkbook.html">
                        Use Case Planning Workbook</a></span>.</p>
                </div>
                <a name="PrepareForFirstSprint" />
                <h3 class="subHeading">Prepare for the First Sprint</h3>
                <div class="subsection">
                    <p>A sprint is a timeboxed iteration of development that is usually one to four weeks
                        long and that produces an increment of the product that the team could ship. Before
                        your team starts the first sprint, your product owner prepares the product backlog.
                        The use cases that are high enough priority to be considered in the first sprint
                        must be ready for the team to implement. Your product owner must prepare the product
                        backlog by performing the following tasks:</p>
                    <ul>
                        <li>
                            <p>Break the use cases down into smaller use cases.</p>
                        </li>
                        <li>
                            <p>Provide details about the use cases that the team will need to break the use cases
                                down into tasks.</p>
                        </li>
                    </ul>
                    <p>Your product owner will know that a use case is too large if it represents a significant
                        amount of the team's total velocity. For example, a use case that is 15 planning
                        points is too large to take into the sprint planning meeting if the team's velocity
                        is 30 story points. The team will take half the sprint just to complete that use case.</p>
                    <p>Your team will also ask for details about the use cases to be able to break them
                        down into tasks and estimate those tasks. For example, when your team examines the
                        use case "As a customer, I want to be able to search for a type of meal," your
                        team may ask the following kinds of questions:</p>
                    <ul>
                        <li>
                            <p>"Must that be a free-text search, or can it be a selection for a list of available
                                types?"</p>
                        </li>
                        <li>
                            <p>"If more than one vendor provides a meal that matches the search, how should the
                                results be sorted?"</p>
                        </li>
                    </ul>
                    <p>For more information, see <a href="#PrepareForNextSprint">Preparing for the Next
                        Sprint</a>.</p>
                </div>
            </div>
            <a name="PlanASprint" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle2)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle2, event)" tabindex="0">
                <img id="sectionToggle2" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Plan
                a Sprint</span> </h1>
            <div id="sectionSection2" class="section" name="collapseableSection" style="">
                <p>When your team has developed the product backlog and established a release plan,
                    your team can start to work in sprints. Your team starts the sprint with a sprint
                    planning meeting, in which the team commits to completing a set of use cases
                    from the product backlog. That set of use cases, together with the supporting
                    tasks, is the sprint backlog. For more information, see <span sdata="link"><a href="ComparingtheProductandSprintBacklogs.html">
                        Comparing the Product and Sprint Backlogs</a></span>.</p>
                <p>After the sprint starts, the use cases in the sprint backlog are not changed.
                    Therefore, the plan must be detailed enough that the team can make that commitment
                    with confidence.</p>
                <p>For more information, see <span sdata="link"><a href="SprintPlanningMeeting.html">
                    Sprint Planning Meeting</a></span>.</p>
                <a name="ChooseUserStories" />
                <h3 class="subHeading">Choose use cases</h3>
                <div class="subsection">
                    <p>Your team chooses the use casess that are candidates to be implemented in the sprint.
                        You team identifies the use cases that have the highest priority and whose planning
                        points do not exceed its estimated velocity. For example, the four use cases
                        that have the highest priority might have 8, 3, 7, 6, and 2 story points. If your
                        team had a capacity of 25 story points per sprint, your team would include the first
                        four use cases in the sprint backlog.</p>
                    <p>For more information, see <span sdata="link"><a href="IterationBacklogWorkbook.html">
                        Iteration Task Backlog Workbook</a></span>.</p>
                </div>
                <a name="IdentifyTasks" />
                <h3 class="subHeading">Identify Tasks</h3>
                <div class="subsection">
                    <p>Your team evaluates each use case to determine what it must do to implement that
                        use case. Your team breaks use cases down into tasks to help it understand the use cases well enough to make a confident commitment to complete them in the sprint.
                    </p>
                    <img alt="Iteration Task Backlog worksheet" src="../art/ProcGuid_IterationBacklog1_Wrkbk.png" /><p>
                        Teams that are very experienced at Scrum may be able to make this commitment without
                        breaking the use cases down into tasks.</p>
                </div>
                <a name="EstimateTasks" />
                <h3 class="subHeading">Estimate Tasks</h3>
                <div class="subsection">
                    <p>After the tasks are identified, your team estimates how long (in hours) each task
                        will take. Teams frequently use the planning poker technique to estimate tasks.
                        This technique helps prevent teams from trying to estimate more accurately than
                        is necessary.</p>
                </div>
                <a name="CommitToUserStories" />
                <h3 class="subHeading">Commit to use cases</h3>
                <div class="subsection">
                    <p>Your team uses the Iteration Task Backlog workbook to make sure that the team has enough
                        working hours to complete all of the tasks. If the sprint has more work than your
                        team has available in the sprint, the lowest ranked use cases must be removed
                        until the work is within the team's capacity for the sprint. Smaller use cases that
                        are lower priority can be exchanged for larger use cases that do not fit the sprint.
                    </p>
                    <img alt="Capacity worksheet" src="../art/ProcGuid_IterationBacklog_Capacity_Wrkbk.png" /><p>
                        Your team commits to completing the use cases that it has determined that it
                        can complete. It makes this commitment with the understanding that your product
                        owner will not attempt to introduce additional work or change the priorities of
                        the use cases that are being implemented in the sprint.</p>
                </div>
            </div>
            <a name="RunASprint" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle3)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle3, event)" tabindex="0">
                <img id="sectionToggle3" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Run
                a Sprint</span> </h1>
            <div id="sectionSection3" class="section" name="collapseableSection" style="">
                <p>During a sprint, your team completes the tasks that are required to implement the
                    use cases in the sprint backlog. Your team can track its progress and make sure
                    that it meets the customers’ acceptance criteria and your team’s criteria for finished
                    software before you finish each sprint.</p>
                <a name="CompleteTasks" />
                <h3 class="subHeading">Complete use cases</h3>
                <div class="subsection">
                    <p>After your team plans the sprint, it has a list of use cases that it has committed
                        to completing during the sprint. Those use cases have been broken down into tasks.
                        Each member of your team signs up for a task when the sprint starts. After completing
                        that task, the team member updates its status and sign up for another task. In this
                        manner, your team works through the list of tasks, completing the use cases in
                        the sprint backlog. A team member can indicate which tasks are completed when checking
                        in code. For more information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/c1891ca6-0516-421c-a7ce-ca0e7e2ac3ac">
                            Associate Work Items with Changesets</a></span>.</p>
                    <p>For more information about assigning tasks and updating their status, see <span
                        sdata="link"><a href="TaskGovDev.html">Task (GovDev)</a></span>.</p>
                    <p>Scrum relies on people talking to each other more than formal processes to make sure
                        that dependencies are understood, that expertise is shared, and that changes in
                        plans are made efficiently. Hold a short, daily Scrum meeting in which each member
                        of the team shares some details about the work that they accomplished on the previous
                        day, the work that they plan to accomplish that day, and any issues or impediments
                        that might affect or require help from other team members. For more information,
                        see <span sdata="link"><a href="DailyScrumMeeting.html">Daily Scrum Meeting</a></span>.</p>
                    <p>In his book "Extreme Programming Explained," Kent Beck talks about how it is cheaper
                        to fix a bug sooner rather than later. Given that fact, your team must understand
                        what is important to your customer. Perhaps the customer values quality instead
                        of more features. Your product owner must know this kind of information because
                        customers control the flow of the work to the team.</p>
                    <p>The software that a Scrum team produces should be error free. However, your team
                        will likely encounter bugs in your projects. Handle bugs with the understanding
                        that it is cheaper and quicker to fix them as they are found than it is to put them
                        off until later. When your team finds bugs, fix them immediately. If your team cannot
                        fix the bug on the same day that was found, create a bug work item in Visual Studio
                        ALM and fix it before the end of the sprint.</p>
                    <p>For more information, see <span sdata="link"><a href="BugGovDev.html">Bug (GovDev)</a>
                    </span>.</p>
                </div>
                <a name="TrackSprintProgress" />
                <h3 class="subHeading">Track Sprint Progress</h3>
                <div class="subsection">
                    <p>Your team can track the progress of the sprint to make sure that work is being completed
                        as expected and that it meets the acceptance criteria. Scrum teams most frequently
                        use a burndown report to track their progress through a sprint. MSF for Agile Software
                        Development v5.0 provides a set of reports that teams can use to track the progress
                        of a sprint. </p>
                    <p><span sdata="link"></span> <span sdata="link">
                        <a href="BurndownandBurnRateReportGovDev.html">Burndown and Burn
                        Rate Report (GovDev)</a></span> </p>
                    <img alt="Healthy version of Burndown report" src="../art/ProcGuid_HealthyBurndown.png" /><p>
                        <span sdata="link"><a href="BuildQualityIndicatorsReport.html">Build Quality Indicators
                            Report</a></span> </p>
                    <p><span sdata="link"><a href="TestPlanProgressReport.html">Test Plan Progress Report
                        </a></span> </p>
                    <p><span sdata="link"><a href="BurndownandBurnRateReportGovDev.html">Burndown and Burn Rate Report
                        (GovDev)</a></span> </p>
                    <p>Teams often find that they need more or less time to complete a task than what they
                        estimated during the sprint planning meeting. This kind of variation is typical.
                        You can record this information by specifying the actual time that the team spent
                        in the task.</p>
                    <p>As the sprint progresses, your team might identify work that it had not expected
                        but that is necessary to complete a use case. In this case, create a task, estimate
                        it and then determine whether your team can complete it in the hours that remain
                        in the sprint. If your team can complete the task, continue with the sprint. If
                        your team cannot complete the task in the sprint, meet with the product owner to
                        discuss how to continue. The product owner and your team can resolve the issue by
                        making the following kinds of changes:</p>
                    <ul>
                        <li>
                            <p>Reduce the acceptance criteria for the use case so that the task becomes unnecessary.
                            </p>
                        </li>
                        <li>
                            <p>Remove the use case from the sprint backlog.</p>
                        </li>
                        <li>
                            <p>Cancel the sprint.</p>
                        </li>
                    </ul>
                </div>
                <a name="FinishTheSprint" />
                <h3 class="subHeading">Finish the Sprint</h3>
                <div class="subsection">
                    <p>As the end of the sprint approaches, make sure that your team is completing all
                        use cases or requirements. For example, make sure that the acceptance tests are passing
                        and that each use case meets the criteria that your team defined. For more information
                        about what it means to be done, see the following Web page: <a href="http://go.microsoft.com/fwlink/?LinkId=178862">
                            Mitch Lacey &amp; Associates, Inc.</a></p>
                    <p><span sdata="link"><a href="BugStatusReport.html">Bug Status Report</a></span> 
                    </p>
                    <p><span sdata="link"><a href="BugTrendsReport.html">Bug Trends Report</a></span> 
                    </p>
                    <p>On the last day of the sprint, your team will demonstrate the use cases that it
                        has completed to the product owner and possibly to your customers. Your product
                        owner and customers will determine whether they accept each use case. For more
                        information, see <span sdata="link"><a href="SprintReviewMeeting.html">Sprint Review
                            Meeting</a></span>. </p>
                    <p>After the customer review, your team will hold a retrospective. For more information,
                        see <span sdata="link"><a href="RetrospectiveMeeting.html">Retrospective Meeting</a>
                        </span>.</p>
                </div>
            </div>
            <a name="TrackTheProject" />
            <h1 class="heading"><span onclick="ExpandCollapse(sectionToggle4)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(sectionToggle4, event)" tabindex="0">
                <img id="sectionToggle4" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />Track
                the Project</span> </h1>
            <div id="sectionSection4" class="section" name="collapseableSection" style="">
                <p>As your team works in sprints to deliver increments of the project, your customers
                    develop a better understanding of their remaining needs, and changes in the business
                    environment must be considered. Your product owner works with your customers to
                    understand these changes. Your product owner will maintain the product backlog and
                    the release plan to reflect those changes and to make sure that your team has what
                    it needs at the start of each sprint. Your team tracks the progress of the product
                    as a whole to make sure that it is making healthy progress toward completing the
                    project.</p>
                <a name="PrepareForNextSprint" />
                <h3 class="subHeading">Prepare for the Next Sprint</h3>
                <div class="subsection">
                    <p>The freshness of the product backlog has a direct relationship to the overall quality
                        and completeness of the project. The backlog must be regularly updated, changed,
                        and rethought to make sure that it is ready every time that your team is about to
                        start a sprint.</p>
                    <p>Your product owner prepares the product backlog for the next sprint by performing
                        the following tasks:</p>
                    <ul>
                        <li>
                            <p>Update the use cases and their priorities as customers' needs change.</p>
                        </li>
                        <li>
                            <p>Break down use cases that are likely to be implemented in the next sprint.
                            </p>
                        </li>
                    </ul>
                    <img alt="Product Backlog" src="../art/TeamProj_ProductBacklog.png" /><p>When your team
                        finishes a sprint, other use cases get closer to the top of the product backlog.
                        Your product owner must analyze and break down those use cases that are at the top
                        so that your team can implement them in the upcoming sprint. (For more information,
                        see <a href="#PrepareForFirstSprint">Prepare for the First Sprint</a>earlier in
                        this topic.) Mike Cohn often talks about this process as the product backlog iceberg.
                        As the team works on a set of functionality, the iceberg melts, new work surfaces,
                        and the iceberg becomes smaller. In this process, additional details emerge, just
                        enough and just in time.</p>
                    <p>Now that your team is busy running a sprint, your product owner cannot expect to
                        have the same level of your team's involvement in maintaining the product backlog
                        as it may have provided in preparing for the first sprint. To help your product
                        owner prepare the product backlog with a minimum of disruption to the sprint, your
                        team and your product owner will discuss the open issues about the product backlog
                        over the course of the sprint.</p>
                </div>
                <a name="TrackReleaseProgress" />
                <h3 class="subHeading">Track Release Progress</h3>
                <div class="subsection">
                    <p>As the project proceeds from sprint to sprint, your team will track the overall progress
                        toward the next release. Your team will also track its progress to assess and improve
                        its velocity. As your team tracks its progress, it should try to answer the following
                        kinds of questions:</p>
                    <ul>
                        <li>
                            <p>Are we working on the most appropriate use cases? Your product backlog will be
                                refined with new use cases as the project progresses. However, if the total number
                                of use cases in the backlog is not decreasing, even though you are completing use cases
                                each sprint, the team should investigate the cause. The use cases being completed
                                might not be the best choices. The team should have a vision and a goal for each
                                release and ensure that the use cases tie directly with what is being asked of the
                                customer.</p>
                        </li>
                        <li>
                            <p>Are we carrying technical debt? Some teams treat a use case as finished even though
                                work such as fixing bugs remains to be completed. Those teams take on technical
                                debt that they must pay later, usually at a higher cost.</p>
                        </li>
                    </ul>
                    <p>Visual Studio ALM provides several reports to help your team track its progress over
                        many sprints.</p>
                    <p><span sdata="link"><a href="StatusonAllIterationsReport.html">Status on All Iterations
                        Report</a></span> </p>
                    <img alt="Healthy version of Status on All Iterations" src="../art/ProcGuid_AllIterations.png" /><p>
                        <span sdata="link"><a href="RequirementsProgressReportGovDev.html">Requirements Progress Report
                            (GovDev)</a></span> </p>
                    <p><span sdata="link"><a href="RequirementsTraceabilityReportGovDev.html">Requirements Traceability Report
                        (GovDeve)</a></span> </p>
                    <p>You can create custom reports and work item queries to help track progress. For more
                        information, see <span sdata="link"><a href="http://msdn.microsoft.com/library/1f28ba6c-c5e5-46d3-9209-ede24ae78e48">
                            Creating, Customizing, and Managing Reports for Visual Studio ALM</a></span> 
                        and <span sdata="link"><a href="http://msdn.microsoft.com/library/c9b6d41c-47ce-4a29-8a1c-ba44d8c4809a">
                            Finding Bugs, Tasks, and Other Work Items</a></span>.</p>
                </div>
                <a name="FinishTheProject" />
                <h3 class="subHeading">Finish the Release</h3>
                <div class="subsection">
                    <p>If your team is not accumulating technical debt, it can release the product when
                        it has completed the sprints in that release, without additional work. Your team
                        and your product owner hold customer review and retrospective meetings to examine
                        the release as a whole.</p>
                    <p>However, technical debt is a challenging problem that teams cannot eliminate easily.
                        If your team, like many other teams, is still accumulating technical debt, you must
                        spend time doing the outstanding work to finish the use cases before you release
                        your product. In the retrospective for the release, consider what your team must
                        do in upcoming sprints to avoid taking on more debt.</p>
                </div>
            </div>
            <h1 class="heading"><span onclick="ExpandCollapse(seeAlsoToggle)" style="cursor: default;"
                onkeypress="ExpandCollapse_CheckKey(seeAlsoToggle, event)" tabindex="0">
                <img id="seeAlsoToggle" class="toggle" name="toggleSwitch" src="../icons/collapse_all.gif" />See
                Also</span> </h1>
            <div id="seeAlsoSection" class="section" name="collapseableSection" style="">
                <h4 class="subHeading">Concepts</h4>
                <div class="seeAlsoStyle"><span sdata="link"><a href="EngineeringPractices.html">Engineering
                    Practices</a></span> </div>
                <div class="seeAlsoStyle"><span sdata="link"><a href="http://msdn.microsoft.com/library/f6a3a082-3b6d-4cfa-a636-0102ae625513">
                    Choose a Process Template</a></span> </div>
                <div class="seeAlsoStyle"><span sdata="link"><a href="http://msdn.microsoft.com/library/52aa8bc9-fc7e-4fae-9946-2ab255ca7503">
                    Planning and Tracking Projects</a></span> </div>
                <h4 class="subHeading">Other Resources</h4>
                <div class="seeAlsoStyle"><span sdata="link"><a href="GovDevv1.0.html">
                    GovDev for TFS 2010 v1.0</a></span> </div>
            </div>
        </div>
        <div id="footer">
            <div class="footerLine">
                <img width="100%" height="3px" src="../icons/footer.gif" alt="Footer image" title="Footer image" />
            </div>
            <span id="feedbackarea">Send <a href="javascript:SubmitFeedback('bjordan@microsoft.com','','','10.0','10.0.10236.10000','%0\dThank%20you%20for%20your%20feedback.%20The%20GovDev%20team%20uses%20your%20feedback%20to%20improve%20documentation.%20While%20we%20are%20reviewing%20your%20feedback,%20we%20may%20send%20you%20e-mail%20to%20ask%20for%20clarification%20or%20feedback%20on%20a%20solution.%20We%20do%20not%20use%20your%20e-mail%20address%20for%20any%20other%20purpose%20and%20we%20delete%20it%20after%20we%20finish%20our%20review.%0\AFor%20further%20information%20about%20the%20privacy%20policies%20of%20Microsoft,%20please%20see%20http://privacy.microsoft.com/en-us/default.aspx.%0\A%0\d','Customer%20Feedback');">
                feedback </a>on this topic or submit an issue at the GovDev for TFS Codeplex Site.</span> 
        </div>
    </div>
</body>
</html>
